package top.infopub.mgr.bpa.service;

import com.github.pagehelper.Page;
import top.infopub.mgr.bpa.domain.YearEffectPlanDomain;
import top.infopub.mgr.bpa.jsonVo.BpaYearEffectPlanJsonVo;
import top.infopub.mgr.bpa.vo.BpaYearEffectPlan;
import top.infopub.mgr.bpa.vo.EffectPlanPublicVo;
import top.infopub.mgr.common.vo.RspVo;
import top.infopub.security.vo.AuthorizationVO;

/**
 * Created by wurz on 2021/6/20.
 */
public interface BpaYearEffectPlanService {
    /**
     * 新增数据 <br>
     * @param bpaYearEffectPlan BPA_YEAR_EFFECT_PLAN 参数对象  <br>
     * @return 新增的数据条数
     */
    int insert(BpaYearEffectPlan bpaYearEffectPlan);

    /**
     * 根据主键删除数据 <br>
     * @param sguid   <br>
     * @return 删除的数据条数
     */
    int deleteByPrimaryKey(String sguid);

    /**
     * 根据传入参数删除数据 <br>
     * @param bpaYearEffectPlan BPA_YEAR_EFFECT_PLAN 参数对象  <br>
     * @return 删除的数据条数
     */
    int delete(BpaYearEffectPlan bpaYearEffectPlan);

    /**
     * 根据主键更新数据 <br>
     * @param bpaYearEffectPlan BPA_YEAR_EFFECT_PLAN 参数对象  <br>
     * @return 更新的数据条数
     */
    int updateByPrimaryKey(BpaYearEffectPlan bpaYearEffectPlan);

    /**
     * 根据主键查询数据 <br>
     * @param sguid   <br>
     * @return BpaYearEffectPlan 数据对象
     */
    BpaYearEffectPlan selectOne(String sguid);

    /**
     * 根据传入参数查询数据列表 <br>
     * @param effectPlanPublicVo BPA_YEAR_EFFECT_PLAN 参数对象  <br>
     * @return 符合条件的数据集合
     */
    Page<YearEffectPlanDomain> selectList(Page<YearEffectPlanDomain> page, EffectPlanPublicVo effectPlanPublicVo);

    /**
     * 统计符合条件的数据数量 <br>
     * @param bpaYearEffectPlan BPA_YEAR_EFFECT_PLAN 参数对象  <br>
     * @return 符合条件的数据总数
     */
    int selectCount(BpaYearEffectPlan bpaYearEffectPlan);

    RspVo edit(BpaYearEffectPlanJsonVo jsonVo, Integer submitType, AuthorizationVO vo);

    BpaYearEffectPlanJsonVo queryDetailById(String id);
}
